package com.ktjy.autoconfigure;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

import java.lang.annotation.*;

/**
 * 微服务SpringCloudApplication注解（用于微服务项目启动类，提供服务注册与发现、远程调用等微服务基础环境支持，全局统一basePackages路径）
 *
 * @author LILIBO
 * @since 2025/5/28
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@EnableDiscoveryClient // 开启服务发现功能
@EnableFeignClients // 开启远程调用功能
@SpringBootApplication // SpringBoot核心注解
public @interface SpringCloudApplication {

    String[] value() default {};

    String[] basePackages() default {"com.ktjy"}; // 全局统一basePackages路径

    Class<?>[] basePackageClasses() default {};

    Class<?>[] defaultConfiguration() default {};

    Class<?>[] clients() default {};

}
